1,876 research outputs found

    Generalizing Hylo-shift

    Get PDF
    This note proposes a generalization of the Hylo-shift law for functional program calculation. The generalization allows to handle transformations involving recursive types generated by polynomials where other recursive types occur (for instance, lists of binary trees).Presidência do Conselho de Ministros - POSI/ICHS/44304/2002

    Making the point-free calculus less pointless

    Get PDF

    Point-free program transformation

    Get PDF
    Functional programs are particularly well suited to formal manipulation by equational reasoning. In particular, it is straightforward to use calculational methods for program transformation. Well-known transformation techniques, like tupling or the introduction of accumulating parameters, can be implemented using calculation through the use of the fusion (or promotion) strategy. In this paper we revisit this transformation method, but, unlike most of the previous work on this subject, we adhere to a pure point-free calculus that emphasizes the advantages of equational reasoning. We focus on the accumulation strategy initially proposed by Bird, where the transformed programs are seen as higher-order folds calculated systematically from a specification. The machinery of the calculus is expanded with higher-order point-free operators that simplify the calculations. A substantial number of examples (both classic and new) are fully developed, and we introduce several shortcut optimization rules that capture typical transformation patterns.Presidência do Conselho de Ministros - POSI/ICHS/44304/2002

    A comparative study of verification condition generators

    Get PDF
    We propose an empirical comparison of two VCGen algorithms for imperative languagesFundação para a Ciência e a Tecnologia (FCT) - projecto RESCU

    Program verification in SPARK and ACSL : a comparative case study

    Get PDF
    We present a case-study of developing a simple software module using contracts, and rigorously verifying it for safety and functional correctness using two very different programming languages, that share the fact that both are extensively used in safety-critical development: SPARK and C/ACSL. This case-study, together with other investigations not detailed here, allows us to establish a comparison in terms of specification effort and degree of automation obtained with each toolset.Fundação para a Ciência e a Tecnologia (FCT

    Chinchéus and sangleys: ten remarks on the chinese presence in Melaka and Manila (16th-17th centuries)

    Get PDF
    info:eu-repo/semantics/publishedVersio
    corecore